import hyRequest from '../index'

import { IAccount, ILoginResult } from './type'
import { IDataType } from '../types'

enum API {
  AccountLogin = '/user/login',
  LoginUserInfo = '/user/userinfo',
  UserMenus = '/user/menu',
  PermCode = '/user/permCode'
}

/**
 * @description: 用户模块——用户登录
 */
export function accountLoginRequest(account: IAccount) {
  return hyRequest.post<IDataType<ILoginResult>>({
    url: API.AccountLogin,
    data: account
  })
}

/**
 * @description: 用户模块——获取用户信息
 */
export function requestUserInfoById(id: number | string) {
  return hyRequest.get<IDataType>({
    url: `${API.LoginUserInfo}?id=${id}`,
    showLoading: false
  })
}

/**
 * @description: 用户模块——获取用户菜单
 */
export function requestUserMenus() {
  return hyRequest.get<IDataType>({
    url: API.UserMenus,
    showLoading: false
  })
}

/**
 * @description: 用户模块——获取用户权限code集合
 */
export function getPermCode(id) {
  return hyRequest.get<IDataType>({
    url: `${API.PermCode}?id=${id}`,
    showLoading: false
  })
}
